考題日期:2015/03/24
題號:11538
星等:2
語言:C++
題目:
題意:
給予NxM的棋盤,當兩皇后位於同一列、同一行、同一對角線時為攻擊位置,問共有幾種攻擊位置。
程式:
#include <iostream>
using namespace std;
int main()
{
long long M,N;
while(cin>>N>>M)
{
if(N==0 && M == 0)
break;
if(N < M)
swap(N,M);
long long all = 0;
all += N * (N - 1) * M; //計算同一列M行的排法
all += M * (M - 1) * N; //計算同一行N列的排法
all += ((M * (M + 1) * (2 * M + 1) / 6 - M * (M + 1) / 2)*2+ (N - M - 1) * M * (M - 1))*2;//計算對角線
cout<<all<<endl;
}
return 0;
}
測資: